concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
↳ QTRS
↳ AAECC Innermost
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
LESSLEAVES(cons(U, V), cons(W, Z)) → LESSLEAVES(concat(U, V), concat(W, Z))
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(W, Z)
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(U, V)
CONCAT(cons(U, V), Y) → CONCAT(V, Y)
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
LESSLEAVES(cons(U, V), cons(W, Z)) → LESSLEAVES(concat(U, V), concat(W, Z))
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(W, Z)
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(U, V)
CONCAT(cons(U, V), Y) → CONCAT(V, Y)
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
LESSLEAVES(cons(U, V), cons(W, Z)) → LESSLEAVES(concat(U, V), concat(W, Z))
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(U, V)
LESSLEAVES(cons(U, V), cons(W, Z)) → CONCAT(W, Z)
CONCAT(cons(U, V), Y) → CONCAT(V, Y)
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
CONCAT(cons(U, V), Y) → CONCAT(V, Y)
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONCAT(cons(U, V), Y) → CONCAT(V, Y)
cons2 > CONCAT1
CONCAT1: multiset
cons2: multiset
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
LESSLEAVES(cons(U, V), cons(W, Z)) → LESSLEAVES(concat(U, V), concat(W, Z))
concat(leaf, Y) → Y
concat(cons(U, V), Y) → cons(U, concat(V, Y))
lessleaves(X, leaf) → false
lessleaves(leaf, cons(W, Z)) → true
lessleaves(cons(U, V), cons(W, Z)) → lessleaves(concat(U, V), concat(W, Z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
lessleaves(x0, leaf)
lessleaves(leaf, cons(x0, x1))
lessleaves(cons(x0, x1), cons(x2, x3))